Skip to content

Sync addons-source@maintenance/gramps61 with upstream (2026-05-30)#33

Closed
eduralph wants to merge 6 commits into
maintenance/gramps61from
sync/upstream-maintenance-gramps61-auto
Closed

Sync addons-source@maintenance/gramps61 with upstream (2026-05-30)#33
eduralph wants to merge 6 commits into
maintenance/gramps61from
sync/upstream-maintenance-gramps61-auto

Conversation

@eduralph

Copy link
Copy Markdown
Owner

Automated nightly sync from gramps-project/addons-source@maintenance/gramps61. Generated by .github/workflows/upstream-sync.yml on the testbed.

eduralph and others added 5 commits May 19, 2026 19:51
…amps61

Bootstrap of the full CI pipeline as it now sits at the tip of PR 820
(eduralph/addons-source@feature/ci-cd-pipeline-upstream, commit
3b2a947), landed directly on maintenance/gramps61 for an end-to-end
CI verification. This branch is a one-shot test bed: if Gary/Nick
merge the PR upstream, fork's maintenance/gramps61 will eventually be
forward-merged from gramps60, not from this state.

Equivalent shape to what the cherry-picked PR 820 contains:

  - .github/workflows/ci.yml — branch-neutral setup job (suffix /
    ci_image derived from github.ref_name); container jobs use
    needs.setup.outputs.ci_image; lint + unit-test-linux +
    unit-test-windows now blocking, addon-structure still advisory.
  - .github/workflows/docker-build.yml — branch-neutral params step
    (suffix, series, fallback SHA captured via git ls-remote of
    gramps-project/gramps@maintenance/gramps${suffix}); image tag
    derived; GRAMPS_FALLBACK_SHA threaded through as a build-arg so
    the buildx cache key invalidates when upstream tip moves.
  - .github/docker/gramps-ci/Dockerfile — required GRAMPS_SERIES arg;
    hybrid install (pip first, SHA-pinned git clone fallback when
    no gramps==${SERIES}.* exists on PyPI, fatal on any other pip
    failure).
  - .github/environment.yml — conda env for the Windows unit-test
    job (unchanged from PR 820's prior state).
  - tests/* — shared test harness (gramps_test_env.py base classes,
    test_plugin_registration.py).
  - .github/CI-MAINTAINER.md — runbook for the gramps-project
    maintainer covering one-time setup (GHCR visibility, first-push
    race), ongoing operations (new maintenance branches, PyPI
    release transitions), diagnostic log markers, and future-proofing
    knobs.

Expected on push:
  - docker-build fires; params step derives suffix=gramps61,
    series=6.1, fallback_sha=<current tip of gramps-project/gramps
    maintenance/gramps61>.
  - Dockerfile install logs ::warning::no gramps==6.1.* on PyPI;
    installing from gramps-project/gramps@maintenance/gramps61 at
    <sha>, since no 6.1.0 release exists yet.
  - Image published to ghcr.io/eduralph/addons-source/gramps-ci:
    gramps61.
  - First CI run: container jobs may race the image push (option 1
    first-push behavior documented in ci.yml header); re-run failed
    jobs once docker-build finishes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
`test_target_version_is_6_0` hardcoded "6.0" in the assertion and its
name, so the same harness copied to maintenance/gramps61 (via the
bootstrap commit 458ebd0) flagged every 6.1-targeted addon as
mistargeted. Switch the prefix to ``f"{VERSION_TUPLE[0]}.{VERSION_TUPLE[1]}"``,
read from the loaded ``gramps.version``, so the same test works on every
maintenance branch — the CI image's Gramps install is always the series
that branch's addons should target, which is exactly what we want to
assert.

Rename the method to ``test_target_version_matches_gramps_install`` to
match the new semantics, and update the failure message to include the
expected prefix instead of a fixed "6.0".

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…61-auto

Sync addons-source@maintenance/gramps61 with upstream (2026-05-23)
Bring maintenance/gramps61's .github/ up to feature/ci-cd-pipeline-upstream.
The branch carried an early (2026-05-19) branch-neutral snapshot that ran
tests with a bare 'python3 -m unittest' — no per-module timeout, no
silent-skip detection, no GI bootstrap. The harness added later
(run_addon_tests.py, 2026-05-29) only landed on the feature branch and was
never forward-ported here, so a hanging addon test (e.g. TMGimporter's
real-DB import on Windows) ran unbounded toward the 6h job default.

Adds run_addon_tests.py (per-module subprocess timeout + honest skip
accounting), addon_system_deps.py, gi_bootstrap/sitecustomize.py, and the
matching ci.yml/environment.yml wiring. The ci.yml stays branch-neutral.

Forward-port only; no addon changes.
@eduralph eduralph force-pushed the sync/upstream-maintenance-gramps61-auto branch 6 times, most recently from a17cde9 to 482d1b5 Compare June 6, 2026 06:45
@eduralph eduralph force-pushed the sync/upstream-maintenance-gramps61-auto branch from 482d1b5 to 8ca9982 Compare June 7, 2026 07:45
@eduralph eduralph force-pushed the maintenance/gramps61 branch from c208f73 to 2e0fc61 Compare June 7, 2026 16:27
@eduralph eduralph closed this Jun 7, 2026
@eduralph eduralph deleted the sync/upstream-maintenance-gramps61-auto branch June 7, 2026 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant